Raspberry Pi /RP2040 /USBCTRL_REGS /SIE_STATUS

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Interpret as SIE_STATUS

31 2827 2423 2019 1615 1211 87 43 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (VBUS_DETECTED)VBUS_DETECTED 0LINE_STATE 0 (SUSPENDED)SUSPENDED 0SPEED 0 (VBUS_OVER_CURR)VBUS_OVER_CURR 0 (RESUME)RESUME 0 (CONNECTED)CONNECTED 0 (SETUP_REC)SETUP_REC 0 (TRANS_COMPLETE)TRANS_COMPLETE 0 (BUS_RESET)BUS_RESET 0 (CRC_ERROR)CRC_ERROR 0 (BIT_STUFF_ERROR)BIT_STUFF_ERROR 0 (RX_OVERFLOW)RX_OVERFLOW 0 (RX_TIMEOUT)RX_TIMEOUT 0 (NAK_REC)NAK_REC 0 (STALL_REC)STALL_REC 0 (ACK_REC)ACK_REC 0 (DATA_SEQ_ERROR)DATA_SEQ_ERROR

Description

SIE status register

Fields

VBUS_DETECTED

Device: VBUS Detected

LINE_STATE

USB bus line state

SUSPENDED

Bus in suspended state. Valid for device and host. Host and device will go into suspend if neither Keep Alive / SOF frames are enabled.

SPEED

Host: device speed. Disconnected = 00, LS = 01, FS = 10

VBUS_OVER_CURR

VBUS over current detected

RESUME

Host: Device has initiated a remote resume. Device: host has initiated a resume.

CONNECTED

Device: connected

SETUP_REC

Device: Setup packet received

TRANS_COMPLETE

Transaction complete.

Raised by device if:

  • An IN or OUT packet is sent with the LAST_BUFF bit set in the buffer control register

Raised by host if:

  • A setup packet is sent when no data in or data out transaction follows * An IN packet is received and the LAST_BUFF bit is set in the buffer control register * An IN packet is received with zero length * An OUT packet is sent and the LAST_BUFF bit is set
BUS_RESET

Device: bus reset received

CRC_ERROR

CRC Error. Raised by the Serial RX engine.

BIT_STUFF_ERROR

Bit Stuff Error. Raised by the Serial RX engine.

RX_OVERFLOW

RX overflow is raised by the Serial RX engine if the incoming data is too fast.

RX_TIMEOUT

RX timeout is raised by both the host and device if an ACK is not received in the maximum time specified by the USB spec.

NAK_REC

Host: NAK received

STALL_REC

Host: STALL received

ACK_REC

ACK received. Raised by both host and device.

DATA_SEQ_ERROR

Data Sequence Error.

The device can raise a sequence error in the following conditions:

  • A SETUP packet is received followed by a DATA1 packet (data phase should always be DATA0) * An OUT packet is received from the host but doesn’t match the data pid in the buffer control register read from DPSRAM

The host can raise a data sequence error in the following conditions:

  • An IN packet from the device has the wrong data PID

Links

() ()